package banco.dados;

import java.util.HashMap;
import java.util.Map;

import banco.negocio.Cliente;
import banco.negocio.excecoes.ClienteExistenteException;

public class RepositorioClientesMap implements RepositorioClientes {
	private Map<String, Cliente> clientes;

	public RepositorioClientesMap() {
		clientes = new HashMap<String, Cliente>();
	}

	public void atualizar(Cliente cliente) {
		clientes.put(cliente.getCpf(), cliente);
	}

	public boolean existe(String cpf) {
		return clientes.containsKey(cpf);
	}

	public void inserir(Cliente novoCliente) throws ClienteExistenteException {
		String cpf = novoCliente.getCpf();
		if (!existe(cpf)) {
			clientes.put(cpf, novoCliente);
		} else {
			throw new ClienteExistenteException("O cliente " + cpf
					+ " ja existe!");
		}
	}

	public Cliente procurar(String cpf) {
		return clientes.get(cpf);
	}

	public void remover(String cpf) {
		clientes.remove(cpf);
	}

}
